import pandas as pd
import os

# 确保目标目录存在
file_path = '../data/20250527爱奇艺风云榜电影榜res.xlsx'
directory = os.path.dirname(file_path)

if not os.path.exists(directory):
    os.makedirs(directory)

# 读取Excel文件
df = pd.read_excel('../data/20250527爱奇艺风云榜电影榜.xlsx')

# 处理弹幕数量数值
def convert_danmu(x):
    if pd.isna(x):
        return 0  # 或者你认为合适的默认值
    x = x.replace('条弹幕', '')
    x = x.replace('超', '')  # 处理“超10”这种情况
    if '万' in x:
        return int(float(x.replace('万', '')) * 10000)
    else:
        # 确保在转换为整数之前，字符串是数字
        if x.replace('.', '', 1).isdigit():
            return int(float(x))
        else:
            return 0  # 或者你认为合适的默认值

df['弹幕'] = df['弹幕'].map(convert_danmu)

# 标签整理
df['标签'] = df['标签'].fillna('')  # 确保标签列没有NaN值
df[['年份', '类型', '主演']] = df['标签'].str.split(' / ', expand=True)

# 处理类型列
def split_types(x):
    if pd.isna(x):
        return pd.Series([None, None])
    x = x.lstrip(' ').rstrip(' ')
    parts = x.split(' ', 1)
    if len(parts) == 2:
        return pd.Series([parts[0], parts[1]])
    else:
        return pd.Series([parts[0], None])

df[['类型1', '类型2']] = df['类型'].apply(split_types)

# 导出Excel文件
df.to_excel(file_path, index=False)

print(f"数据已成功写入 {file_path}")
